31 research outputs found
Sapo: Reachability Computation and Parameter Synthesis of Polynomial Dynamical Systems
Sapo is a C++ tool for the formal analysis of polynomial dynamical systems.
Its main features are: 1) Reachability computation, i.e., the calculation of
the set of states reachable from a set of initial conditions, and 2) Parameter
synthesis, i.e., the refinement of a set of parameters so that the system
satisfies a given specification. Sapo can represent reachable sets as unions of
boxes, parallelotopes, or parallelotope bundles (symbolic representation of
polytopes). Sets of parameters are represented with polytopes while
specifications are formalized as Signal Temporal Logic (STL) formulas
Approximated Symbolic Computations over Hybrid Automata
Hybrid automata are a natural framework for modeling and analyzing systems
which exhibit a mixed discrete continuous behaviour. However, the standard
operational semantics defined over such models implicitly assume perfect
knowledge of the real systems and infinite precision measurements. Such
assumptions are not only unrealistic, but often lead to the construction of
misleading models. For these reasons we believe that it is necessary to
introduce more flexible semantics able to manage with noise, partial
information, and finite precision instruments. In particular, in this paper we
integrate in a single framework based on approximated semantics different over
and under-approximation techniques for hybrid automata. Our framework allows to
both compare, mix, and generalize such techniques obtaining different
approximated reachability algorithms.Comment: In Proceedings HAS 2013, arXiv:1308.490
A Formalization of Robustness for Deep Neural Networks
Deep neural networks have been shown to lack robustness to small input
perturbations. The process of generating the perturbations that expose the lack
of robustness of neural networks is known as adversarial input generation. This
process depends on the goals and capabilities of the adversary, In this paper,
we propose a unifying formalization of the adversarial input generation process
from a formal methods perspective. We provide a definition of robustness that
is general enough to capture different formulations. The expressiveness of our
formalization is shown by modeling and comparing a variety of adversarial
attack techniques
Reachability computation for polynomial dynamical systems
This paper is concerned with the problem of computing the bounded time reachable set of a polynomial discrete-time dynamical system. The problem is well-known for being difficult when nonlinear systems are considered. In this regard, we propose three reachability methods that differ in the set representation. The proposed algorithms adopt boxes, parallelotopes, and parallelotope bundles to construct flowpipes that contain the actual reachable sets. The latter is a new data structure for the symbolic representation of polytopes. Our methods exploit the Bernstein expansion of polynomials to bound the images of sets. The scalability and precision of the presented methods are analyzed on a number of dynamical systems, in comparison with other existing approaches
Approximated Symbolic Computations over Hybrid Automata
Hybrid automata are a natural framework for modeling and analyzing systems which exhibit a mixed discrete continuous behaviour. However, the standard operational semantics defined over such models implicitly assume perfect knowledge of the real systems and infinite precision measurements. Such assumptions are not only unrealistic, but often lead to the construction of misleading models. For these reasons we believe that it is necessary to introduce more flexible semantics able to manage with noise, partial information, and finite precision instruments. In particular, in this paper we integrate in a single framework based on approximated semantics different over and under-approximation techniques for hybrid automata. Our framework allows to both compare, mix, and generalize such techniques obtaining different approximated reachability algorithms
Counterexample-Guided Data Augmentation
We present a novel framework for augmenting data sets for machine learning
based on counterexamples. Counterexamples are misclassified examples that have
important properties for retraining and improving the model. Key components of
our framework include a counterexample generator, which produces data items
that are misclassified by the model and error tables, a novel data structure
that stores information pertaining to misclassifications. Error tables can be
used to explain the model's vulnerabilities and are used to efficiently
generate counterexamples for augmentation. We show the efficacy of the proposed
framework by comparing it to classical augmentation techniques on a case study
of object detection in autonomous driving based on deep neural networks
3D Environment Modeling for Falsification and Beyond with Scenic 3.0
We present a major new version of Scenic, a probabilistic programming
language for writing formal models of the environments of cyber-physical
systems. Scenic has been successfully used for the design and analysis of CPS
in a variety of domains, but earlier versions are limited to environments which
are essentially two-dimensional. In this paper, we extend Scenic with native
support for 3D geometry, introducing new syntax which provides expressive ways
to describe 3D configurations while preserving the simplicity and readability
of the language. We replace Scenic's simplistic representation of objects as
boxes with precise modeling of complex shapes, including a ray tracing-based
visibility system that accounts for object occlusion. We also extend the
language to support arbitrary temporal requirements expressed in LTL, and build
an extensible Scenic parser generated from a formal grammar of the language.
Finally, we illustrate the new application domains these features enable with
case studies that would have been impossible to accurately model in Scenic 2.Comment: 13 pages, 6 figures. Full version of a CAV 2023 tool paper, to appear
in the Springer Lecture Notes in Computer Science serie